﻿export default function define(Blocks: Blockly.BlockDefinitions) {
  let rand_col = "#8BC248"

  Blocks['random_choice'] = {
    init: function () {
      this.appendDummyInput()
          .appendField("列表(");
      this.appendValueInput("text")
        .setCheck(null);
      this.appendDummyInput()
        .appendField(")的随机项");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(rand_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
      this.setTooltip("列表随机项.");
      this.setHelpUrl("");
    }
  };
 
  Blocks['random_randint'] = {
    init: function () {
      this.appendDummyInput()
        .appendField("在");
      this.appendValueInput("start")
        .setCheck(null);
      this.appendDummyInput()
        .appendField("和");
      this.appendValueInput("end")
        .setCheck(null);
      this.appendDummyInput()
        .appendField("之间取随机整数");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(rand_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
      this.setTooltip("整数包括头尾");
      this.setHelpUrl("");
    }
  };

  Blocks['random_random'] = {
    init: function () {
      this.appendDummyInput()
        .appendField("返回0-1之间的小数");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(rand_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
      this.setTooltip("[0, 1)");
      this.setHelpUrl("");
    }
  };

  Blocks['random_randrange'] = {
    init: function () {
      this.appendDummyInput()
        .appendField("返回等差数列下的随机数从");
      this.appendValueInput("start")
        .setCheck(null);
      this.appendDummyInput()
        .appendField("开始，到");
      this.appendValueInput("end")
        .setCheck(null);
      this.appendDummyInput()
        .appendField("结束，步长为");
      this.appendValueInput("step")
        .setCheck(null);
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(rand_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
      this.setTooltip("包括头，不包括尾");
      this.setHelpUrl("");
    }
  };

  Blocks['random_seed'] = {
    init: function () {
      this.appendDummyInput()
        .appendField("随机数种子(");
      this.appendValueInput("text")
        .setCheck(null);
      this.appendDummyInput()
        .appendField(")");
      this.setInputsInline(true);
      this.setOutput(true, null);
      this.setColour(rand_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
      this.setTooltip("随机数生成器的种子.");
      this.setHelpUrl("");
    }
  };

  Blocks['random_shuffle'] = {
    init: function () {
      this.appendDummyInput()
          .appendField("所有元素随机排序(");
      this.appendValueInput("text")
        .setCheck(null);
      this.appendDummyInput()
        .appendField(")");
      this.setPreviousStatement(true, null);
      this.setNextStatement(true, null);
      this.setColour(rand_col);
      this.setOutputShape(Blockly.OUTPUT_SHAPE_ROUND);
      this.setTooltip("所有元素随机排序");
      this.setHelpUrl("");
    }
  };

}

